The present disclosure relates to computer devices used for regression testing software applications.
Application programs comprise program code that is modified from time to time. Usually, the modifications are intended to introduce new features or to fix bugs in the code; however, after modification, it is typical for the developer and/or a testing team to re-test functionality of the application program to ensure that the features affected by the modified code operate properly. Such tests are known in the art as “regression tests.”
Typically, the test team assigned to regression test a particular application program will select and execute “feature-specific” regression tests to test the operation of newly added or modified features. The people on the test team, however, are not always aware of the total impact that a given code modification has on the features of the application program. Therefore, whatever regression tests are selected by the test team using conventional practices may not sufficiently test all the features that are affected by the modified code. This may cause the test team to run more regression tests than are necessary, or in some cases, too few regression tests. Of course, running more tests than are necessary increases the cost of testing in terms of time and resources. On the other hand, running fewer tests than are necessary may mean that the modified application code is not adequately vetted, thereby possibly leading to an inferior product in which customers lose confidence.